
#ifndef __LIBERTY_ENGINE_IMUTABLEASSETFILE_H__
#define __LIBERTY_ENGINE_IMUTABLEASSETFILE_H__

#include <Liberty3D/Engine/IAssetFile.h>

namespace Liberty { namespace Engine {
    class IMutableAssetFile : public IAssetFile {
    public:
        /** Create a directory in the depot. */
        virtual void makeDirectory(const std::string& folder, bool createIntermediates = false) = 0;

        /** Force the depot to make sure every information has been saved to disk. */
        virtual void remove(const std::string& path, bool recursive = false) = 0;

        /** Make sure every information has been saved to disk. */
        virtual void sync() = 0;
    };
}}

#endif
